<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
  <title>Version 1.67.0</title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <link rel="icon" href="/favicon.ico" type="image/ico" />
  <link rel="stylesheet" type="text/css" href="/style-v2/section-boost.css" />

  <style type="text/css">
/*<![CDATA[*/
  #content .news-description ul {
    list-style: none;
  }
  #content .news-description ul ul {
    list-style: circle;
  }
  /*]]>*/
  </style>

  <!--[if IE 7]> <style type="text/css"> body { behavior: url(/style-v2/csshover3.htc); } </style> <![endif]-->
</head>
<!-- Don't edit this page! It's generated by site-tools/site-tools.py -->
<body>
  <div id="heading">
    <!--#include virtual="/common/heading.html" -->  </div>

  <div id="body">
    <div id="body-inner">
      <div id="content">
        <div class="section" id="intro">
          <div class="section-0">
            <div class="section-title">
              <h1>Version 1.67.0</h1>
            </div>

            <div class="section-body">
              <h2><span class=
              "news-title">Version 1.67.0</span></h2>

              <p><span class=news-date">April 14th, 2018 20:37 GMT</span></p>
              <p><a href="/doc/libs/1_67_0/">Documentation</a>
              <table class="download-table"><caption>Downloads</caption><tr><th scope="col">Platform</th><th scope="col">File</th><th scope="col">SHA256 Hash</th></tr>
<tr><th scope="row" rowspan="2">unix</th><td><a href="https://dl.bintray.com/boostorg/release/1.67.0/source/boost_1_67_0.tar.bz2">boost_1_67_0.tar.bz2</a></td><td>2684c972994ee57fc5632e03bf044746f6eb45d4920c343937a465fd67a5adba</td></tr><tr><td><a href="https://dl.bintray.com/boostorg/release/1.67.0/source/boost_1_67_0.tar.gz">boost_1_67_0.tar.gz</a></td><td>8aa4e330c870ef50a896634c931adf468b21f8a69b77007e45c444151229f665</td></tr>
<tr><th scope="row" rowspan="2">windows</th><td><a href="https://dl.bintray.com/boostorg/release/1.67.0/source/boost_1_67_0.7z">boost_1_67_0.7z</a></td><td>1cd94f03a71334a67d36f5161b57f5931e0cd6ecf726d7aca8bd82a3be720b74</td></tr><tr><td><a href="https://dl.bintray.com/boostorg/release/1.67.0/source/boost_1_67_0.zip">boost_1_67_0.zip</a></td><td>7e37372d8cedd0fd6b7529e9dd67c2cb1c60e6c607aed721f5894d704945a7ec</td></tr></table>
<h3>Third Party Downloads</h3>
<ul>
<li><a href="https://dl.bintray.com/boostorg/release/1.67.0/binaries/">Windows Binaries</a></li>
</ul>

              <div class="news-description">
                <div class="description">


  <div id="version_1_67_0.known_issues">
    <h3><span class="link">Known Issues</span></h3>
    <p>
      These are patches from library authors which were found too late to be fixed
      in the release. Be careful as they have not been through the normal testing
      process.
    </p>
    <ul>
      <li>
        <div>
          Fix compiling with FreeBSD:
          <ul>
            <li>
              <div>
                <a href="/patches/1_67_0/0001-Fiber-Use-pthread_setaffinity_np-on-FreeBSD-as-well.patch">/patches/1_67_0/0001-Fiber-Use-pthread_setaffinity_np-on-FreeBSD-as-well.patch</a>
              </div>
            </li>
            <li>
              <div>
                <a href="/patches/1_67_0/0002-Wave-Avoid-using-wrong-T_DIVIDE-on-BSDs.patch">/patches/1_67_0/0002-Wave-Avoid-using-wrong-T_DIVIDE-on-BSDs.patch</a>
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          Fix Python auto-linking:
          <ul>
            <li>
              <div>
                <a href="/patches/1_67_0/0003-Python-Fix-auto-linking-logic-Windows-only.patch">/patches/1_67_0/0003-Python-Fix-auto-linking-logic-Windows-only.patch</a>
              </div>
            </li>
          </ul>
        </div>
      </li>
    </ul>
  </div>
  <div id="version_1_67_0.new_libraries">
    <h3><span class="link">New Libraries</span></h3>
    <ul>
      <li>
        <div>
          <span class="library"><a href="/libs/contract/">Contract</a>:</span>
  Contract programming
          for C++. All contract programming features are supported: Subcontracting,
          class invariants, postconditions (with old and return values), preconditions,
          customizable actions on assertion failure (e.g., terminate or throw), optional
          compilation and checking of assertions, etc, from Lorenzo Caminiti.
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/hof/">HOF</a>:</span>
  Higher-order functions for C++,
          from Paul Fultz II.
        </div>
      </li>
    </ul>
  </div>
  <div id="version_1_67_0.updated_libraries">
    <h3><span class="link">Updated Libraries</span></h3>
    <ul>
      <li>
        <div>
          <span class="library"><a href="/libs/asio/">Asio</a>:</span>
          <ul>
            <li>
              <div>
                Added missing const qualifier to <code><span class="identifier">basic_socket_acceptor</span><span class="special">::</span><span class="identifier">get_option</span></code>.
              </div>
            </li>
            <li>
              <div>
                Worked around a parsing error that occurs with some versions of gcc.
              </div>
            </li>
            <li>
              <div>
                Fixed broken code samples in tutorial.
              </div>
            </li>
            <li>
              <div>
                Added new experimental features. (Note that "experimental"
                features may be changed without notice in subsequent releases.)
                <ul>
                  <li>
                    <div>
                      Added <code><span class="identifier">experimental</span><span class="special">::</span><span class="identifier">detached</span></code>
                      completion token.
                    </div>
                  </li>
                  <li>
                    <div>
                      Added <code><span class="identifier">experimental</span><span class="special">::</span><span class="identifier">redirect_error</span></code>
                      completion token.
                    </div>
                  </li>
                  <li>
                    <div>
                      Added <code><span class="identifier">experimental</span><span class="special">::</span><span class="identifier">co_spawn</span></code>
                      facility for integration with the coroutines technical specification.
                    </div>
                  </li>
                  <li>
                    <div>
                      Updated timeout examples to use latest features.
                    </div>
                  </li>
                  <li>
                    <div>
                      Used <code><span class="identifier">asio</span><span class="special">::</span><span class="identifier">steady_timer</span></code> rather than
                      <code><span class="identifier">asio</span><span class="special">::</span><span class="identifier">deadline_timer</span></code>.
                    </div>
                  </li>
                  <li>
                    <div>
                      Used <code><span class="identifier">asio</span><span class="special">::</span><span class="identifier">dynamic_buffer</span></code> rather than
                      <code><span class="identifier">asio</span><span class="special">::</span><span class="identifier">streambuf</span></code>.
                    </div>
                  </li>
                  <li>
                    <div>
                      Used timed <code><span class="identifier">asio</span><span class="special">::</span><span class="identifier">io_context</span><span class="special">::</span><span class="identifier">run_for</span><span class="special">()</span></code> function for blocking clients.
                    </div>
                  </li>
                  <li>
                    <div>
                      Added example showing a custom completion token for blocking
                      with timeouts.
                    </div>
                  </li>
                </ul>
              </div>
            </li>
            <li>
              <div>
                Fixed unit tests to compile when <code><span class="identifier">BOOST_ASIO_NO_DEPRECATED</span></code>
                is defined.
              </div>
            </li>
            <li>
              <div>
                Changed socket iostreams to use chrono by default, to fix compatibility
                with the Networking TS. Define <code><span class="identifier">BOOST_ASIO_USE_BOOST_DATE_TIME_FOR_SOCKET_IOSTREAM</span></code>
                to enable the old Boost.Date_Time interface in <code><span class="identifier">basic_socket_streambuf</span></code>
                and <code><span class="identifier">basic_socket_iostream</span></code>.
              </div>
            </li>
            <li>
              <div>
                Updated examples to use chrono rather than Boost.Date_Time.
              </div>
            </li>
            <li>
              <div>
                Fixed an incorrect member function detector in the <code><span class="identifier">is_dynamic_buffer</span></code> trait.
              </div>
            </li>
            <li>
              <div>
                Fixed an <code><span class="identifier">async_result</span></code>
                incompatibility with deprecated <code><span class="identifier">handler_type</span></code>.
              </div>
            </li>
            <li>
              <div>
                Added a missing move optimisation in the SSL stream implementation.
              </div>
            </li>
            <li>
              <div>
                Fixed incorrect <code><span class="identifier">basic_resolver_results</span><span class="special">::</span><span class="identifier">value_type</span></code>
                typedef.
              </div>
            </li>
            <li>
              <div>
                Fixed a compile error with some OpenSSL versions when <code><span class="identifier">SSL_OP_NO_COMPRESSION</span></code> is defined.
              </div>
            </li>
            <li>
              <div>
                Changed <code><span class="identifier">add_certificate_authority</span></code>
                to process multiple certificates in a bundle.
              </div>
            </li>
            <li>
              <div>
                Eliminated deprecation warning with MSVC by using <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">invoke_result</span></code>
                rather than <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">result_of</span></code>.
              </div>
            </li>
            <li>
              <div>
                Changed to use <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">string_view</span></code>
                for C++17 or later, and <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">experimental</span><span class="special">::</span><span class="identifier">string_view</span></code>
                for C++14. Define the preprocessor macro <code><span class="identifier">BOOST_ASIO_DISABLE_STD_STRING_VIEW</span></code>
                to force the use of std::experimental::string_view (assuming it is
                available) when compiling in C++17 mode.
              </div>
            </li>
            <li>
              <div>
                Ensured <code><span class="identifier">DynamicBuffer</span></code>
                template arguments are decayed before using in <code><span class="identifier">enable_if</span></code>
                tests.
              </div>
            </li>
            <li>
              <div>
                Changed documentation to distinguish legacy completion handlers (which
                are still required to be CopyConstructible) from new MoveConstructible
                handlers.
              </div>
            </li>
            <li>
              <div>
                Suppressed a discarded return value warning in the buffer debugging
                support.
              </div>
            </li>
            <li>
              <div>
                Fixed <code><span class="identifier">basic_yield_context</span></code>
                to work with completion signatures containing reference parameters.
              </div>
            </li>
            <li>
              <div>
                Ensured that stackful coroutines launched using <code><span class="identifier">spawn</span><span class="special">()</span></code> correctly store decayed copies
                of their function and handler arguments.
              </div>
            </li>
            <li>
              <div>
                Fixed some compatibility issues with Android.
              </div>
            </li>
            <li>
              <div>
                Added cross-compilation support to Jamfiles.
              </div>
            </li>
            <li>
              <div>
                Fixed some minor portability issues in examples.
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/atomic/">Atomic</a>:</span>
          <ul>
            <li>
              <div>
                <strong>Breaking change:</strong> Changed the result
                of the <code><span class="special">(</span><span class="identifier">op</span><span class="special">)</span><span class="identifier">_and_test</span></code>
                operations added in Boost 1.66 to the opposite - the functions now
                return <code><span class="keyword">true</span></code> if the operation
                result is non-zero. This is consistent with other <code><span class="identifier">test</span></code>
                methods in Boost.Atomic and the C++ standard library. Users can define
                <code><span class="identifier">BOOST_ATOMIC_DETAIL_HIGHLIGHT_OP_AND_TEST</span></code>
                when compiling their code to emit warnings on every use of the changed
                functions. This way users can locate the code that needs to be updated.
                (<a href="https://github.com/boostorg/atomic/issues/11">#11</a>)
              </div>
            </li>
            <li>
              <div>
                Update for C++2a. On C++11 compilers that support scoped enums, the
                <code><span class="identifier">memory_order</span></code> enumeration
                is now scoped and contains constants with shorter names like <code><span class="identifier">acquire</span></code>, <code><span class="identifier">release</span></code>
                or <code><span class="identifier">seq_cst</span></code> (i.e.
                users can use <code><span class="identifier">memory_order</span><span class="special">::</span><span class="identifier">acquire</span></code>
                instead of <code><span class="identifier">memory_order_acquire</span></code>).
                The old constants are also provided for backward compatibility. (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0439r0.html">P0439R0</a>)
              </div>
            </li>
            <li>
              <div>
                Update for C++2a. Added experimental support for atomic operations
                on floating point types. In addition to general operations, <code><span class="identifier">add</span></code>, <code><span class="identifier">sub</span></code>,
                <code><span class="identifier">negate</span></code> operations
                and their <code><span class="identifier">fetch_</span><span class="special">(</span><span class="identifier">op</span><span class="special">)</span></code> and <code><span class="identifier">opaque_</span><span class="special">(</span><span class="identifier">op</span><span class="special">)</span></code> versions are supported. Lock-free
                property can be tested with the new macros <code><span class="identifier">BOOST_ATOMIC_FLOAT</span><span class="special">/</span><span class="identifier">DOUBLE</span><span class="special">/</span><span class="identifier">LONG_DOUBLE_LOCK_FREE</span></code>.
                The support for floating point types is optional and can be disabled
                by defining <code><span class="identifier">BOOST_ATOMIC_NO_FLOATING_POINT</span></code>.
                (<a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0020r6.html">P0020R6</a>)
              </div>
            </li>
            <li>
              <div>
                Added new experimental operations:
                <ul>
                  <li>
                    <div>
                      <code><span class="identifier">negate_and_test</span></code>
                      and <code><span class="identifier">complement_and_test</span></code>
                      which perform negation or bitwise complement and return <code><span class="keyword">true</span></code> if the result is not zero.
                    </div>
                  </li>
                  <li>
                    <div>
                      <code><span class="identifier">add</span></code>, <code><span class="identifier">sub</span></code>, <code><span class="identifier">negate</span></code>,
                      <code><span class="identifier">bitwise_and</span></code>,
                      <code><span class="identifier">bitwise_or</span></code>,
                      <code><span class="identifier">bitwise_xor</span></code>,
                      <code><span class="identifier">bitwise_complement</span></code>
                      operations which perform the operation and return its result.
                    </div>
                  </li>
                </ul>
              </div>
            </li>
            <li>
              <div>
                For generic <code><span class="identifier">atomic</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code> specialization, the default constructor
                is now trivial if <code><span class="identifier">T</span></code>'s
                default constructor is.
              </div>
            </li>
            <li>
              <div>
                The internal implementation of <code><span class="identifier">atomic</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">&gt;</span></code> has been updated to avoid undefined
                behavior that stems from signed integer overflows. As required by
                the C++ standard, the library uses two's complement representation
                of signed integers internally and accroding rules of overflow. Currently,
                the library requires the native signed integer types to also use
                two's complement representation (but no defined overflow semantics).
              </div>
            </li>
            <li>
              <div>
                Improved Clang support. In particular, fixed DCAS not being lock-free
                and fixed possible incorrect code generated on 32-bit x86.
              </div>
            </li>
            <li>
              <div>
                Improved MinGW support. For gcc versions up to 4.6, fixed compilation
                of DCAS on x86.
              </div>
            </li>
            <li>
              <div>
                In x86 PIE code, asm blocks now preserve <code><span class="identifier">ebx</span></code>
                value.
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/beast/">Beast</a>:</span>
          <ul>
            <li>
              <div>
                This version fixes significant defects in <code><span class="identifier">websocket</span><span class="special">::</span><span class="identifier">stream</span></code>
                which can lead to asserts or undefined behavior. Users are encouraged
                to update to the latest Boost release.
              </div>
            </li>
            <li>
              <div>
                For a complete list of changes, please view the official <a href="/libs/beast/doc/html/beast/release_notes.html">Release
                Notes</a>.
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/container_hash/">ContainerHash</a>:</span>
          <ul>
            <li>
              <div>
                Extracted from the functional module to break a dependency cycle.
              </div>
            </li>
            <li>
              <div>
                Moved headers to new location to reflect name change, the old include
                paths will still work.
              </div>
            </li>
            <li>
              <div>
                Added support for <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">string_view</span></code>,
                <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">error_code</span></code>, <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">error_condition</span></code>,
                <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">optional</span></code>, <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">variant</span></code>,
                <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">monostate</span></code> where available.
              </div>
            </li>
            <li>
              <div>
                Added explicit support for <code><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">bool</span><span class="special">&gt;</span></code>, so that it will work with libc++
                (<a href="https://svn.boost.org/trac/boost/ticket/13501">#13501</a>).
              </div>
            </li>
            <li>
              <div>
                More detail in the <a href="/doc/html/hash/changes.html#hash.changes.boost_1_67_0">library
                change log</a>.
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/context/">Context</a>:</span>
          <ul>
            <li>
              <div>
                <a href="https://github.com/boostorg/context/issues/62">#62</a>/<a href="https://github.com/boostorg/context/pull/64">PR#64</a>: fix i386/macho routines to correctly
                return transfer_t in EAX/EDX
              </div>
            </li>
            <li>
              <div>
                <a href="https://github.com/boostorg/context/issues/65">#65</a>: <code><span class="identifier">__sanitizer_finish_switch_fiber</span></code>
                should be called directly after context switch
              </div>
            </li>
            <li>
              <div>
                <a href="https://github.com/boostorg/context/issues/66">#66</a>: Clang on Windows : error: No best alternative for libs/context/build/asm_sources
              </div>
            </li>
            <li>
              <div>
                <a href="https://github.com/boostorg/context/issues/73">#73</a>: fixing C2492 for execution_context (v1)
              </div>
            </li>
            <li>
              <div>
                known bug: including all.hpp + &lt;context-impl&gt;ucontext/winfib
                causes error 'forced_unwind: is not a member of boost::context::detail'
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/core/">Core</a>:</span>
          <ul>
            <li>
              <div>
                Updated <code><span class="identifier">to_address</span></code>
                and <code><span class="identifier">pointer_traits</span></code>
                to reflect the design adopted for C++2a in <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0653r2.html">P0653R2</a>
                (Glen Fernandes).
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/coroutine2/">Coroutine2</a>:</span>
          <ul>
            <li>
              <div>
                <a href="https://github.com/boostorg/coroutine2/issues/13">#13</a>: Pull coroutine does not rethrow an exception if
                it is thrown on the first entry
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/date_time/">DateTime</a>:</span>
          <ul>
            <li>
              <div>
                Fixed various year 2038 (32-bit) issues (<a href="https://svn.boost.org/trac/boost/ticket/2818">#2818</a>) (<a href="https://svn.boost.org/trac/boost/ticket/2819">#2819</a>) (<a href="https://svn.boost.org/trac/boost/ticket/3487">#3487</a>)
                (<a href="https://svn.boost.org/trac/boost/ticket/4543">#4543</a>) (<a href="https://svn.boost.org/trac/boost/ticket/8450">#8450</a>) (<a href="https://svn.boost.org/trac/boost/ticket/9158">#9158</a>) (<a href="https://svn.boost.org/trac/boost/ticket/9489">#9489</a>) (<a href="https://svn.boost.org/trac/boost/ticket/10570">#10570</a>) (<a href="https://svn.boost.org/trac/boost/ticket/12609">#12609</a>)
              </div>
            </li>
            <li>
              <div>
                Fixed a binary serialization regression introduced in 1.66.0 (<a href="https://github.com/boostorg/date_time/issues/56">#56</a>)
                (<a href="https://github.com/boostorg/date_time/pull/58">PR#58</a>) (<a href="https://github.com/boostorg/date_time/pull/70">PR#70</a>)
              </div>
            </li>
            <li>
              <div>
                Updated the timezone database file (<a href="https://svn.boost.org/trac/boost/ticket/4430">#4430</a>) (<a href="https://svn.boost.org/trac/boost/ticket/10087">#10087</a>) (<a href="https://github.com/boostorg/date_time/pull/68">PR#68</a>)
              </div>
            </li>
            <li>
              <div>
                Enhanced <code><span class="identifier">from_iso_string</span></code>
                so it can read output of <code><span class="identifier">to_iso_string</span></code>
                for special values (<a href="https://svn.boost.org/trac/boost/ticket/1078">#1078</a>) (<a href="https://github.com/boostorg/date_time/pull/69">PR#69</a>)
              </div>
            </li>
            <li>
              <div>
                Changed maximum supported year from 10000 to 9999 to resolve various
                issues (<a href="https://svn.boost.org/trac/boost/ticket/13159">#13159</a>) (<a href="https://svn.boost.org/trac/boost/ticket/12630">#12630</a>) (<a href="https://github.com/boostorg/date_time/pull/71">PR#71</a>)
              </div>
            </li>
            <li>
              <div>
                <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">date_time</span><span class="special">::</span><span class="identifier">period_parser</span><span class="special">::</span><span class="identifier">delimiter_strings</span></code> did nothing (<a href="https://svn.boost.org/trac/boost/ticket/11142">#11142</a>)
                (<a href="https://github.com/boostorg/date_time/pull/63">PR#63</a>)
              </div>
            </li>
            <li>
              <div>
                Ensure special values are not automatically translated to integral
                types (<a href="https://svn.boost.org/trac/boost/ticket/11168">#11168</a>) (<a href="https://github.com/boostorg/date_time/pull/64">PR#64</a>)
              </div>
            </li>
            <li>
              <div>
                <code><span class="identifier">int_adapter</span><span class="special">::</span><span class="identifier">is_signed</span></code> should be const (<a href="https://svn.boost.org/trac/boost/ticket/12363">#12363</a>)
                (<a href="https://github.com/boostorg/date_time/pull/60">PR#60</a>)
              </div>
            </li>
            <li>
              <div>
                <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">date_time</span><span class="special">::</span><span class="identifier">time_input_facet</span></code> throws when using
                <code><span class="special">%</span><span class="identifier">j</span></code>
                alone (<a href="https://svn.boost.org/trac/boost/ticket/12910">#12910</a>) (<a href="https://github.com/boostorg/date_time/pull/59">PR#59</a>)
              </div>
            </li>
            <li>
              <div>
                Time input facet is not able to parse <code><span class="special">%</span><span class="identifier">e</span></code> day (<a href="https://svn.boost.org/trac/boost/ticket/13194">#13194</a>) (<a href="https://github.com/boostorg/date_time/pull/54">PR#54</a>)
              </div>
            </li>
            <li>
              <div>
                Improved Github CI build environment for better project metrics and
                quality (<a href="https://github.com/boostorg/date_time/pull/52">PR#52</a>) (<a href="https://github.com/boostorg/date_time/pull/72">PR#72</a>)
              </div>
            </li>
            <li>
              <div>
                Fixed various compiler warnings (<a href="https://svn.boost.org/trac/boost/ticket/3606">#3606</a>) (<a href="https://svn.boost.org/trac/boost/ticket/9882">#9882</a>) (<a href="https://github.com/boostorg/date_time/pull/62">PR#62</a>)
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/dll/">DLL</a>:</span>
          <ul>
            <li>
              <div>
                Fixes for calling functions on dirty <code><span class="identifier">GetLastError</span><span class="special">()</span></code> <a href="https://github.com/boostorg/dll/issues/16">#16</a>.
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/fiber/">Fiber</a>:</span>
          <ul>
            <li>
              <div>
                <a href="https://github.com/boostorg/fiber/issues/128">#128</a>: Assertion "! ctx-&gt;ready_is_linked()" when
                using condition_variable::wait_for
              </div>
            </li>
            <li>
              <div>
                <a href="https://github.com/boostorg/fiber/issues/132">#132</a>: fatal error: 'stdexception' file not found
              </div>
            </li>
            <li>
              <div>
                <a href="https://github.com/boostorg/fiber/issues/141">#141</a>: boost::fibers::async problem
              </div>
            </li>
            <li>
              <div>
                <a href="https://github.com/boostorg/fiber/issues/146">#146</a>: remove unecessary lock of remote-ready-queue spinlock
              </div>
            </li>
            <li>
              <div>
                <a href="https://github.com/boostorg/fiber/issues/153">#153</a>: docu: replace set_ready() by schedule()
              </div>
            </li>
            <li>
              <div>
                <a href="https://github.com/boostorg/fiber/issues/154">#154</a>: Document iterators on channels
              </div>
            </li>
            <li>
              <div>
                <a href="https://github.com/boostorg/fiber/issues/155">#155</a>: this_fiber is wrongly documented as being a member
                of boost::fibers
              </div>
            </li>
            <li>
              <div>
                <a href="https://github.com/boostorg/fiber/issues/156">#156</a>: Many examples are using their own barrier.hpp
              </div>
            </li>
            <li>
              <div>
                <a href="https://github.com/boostorg/fiber/issues/158">#158</a>: add BOOST_FIBERS_DECL to work_stealing class
              </div>
            </li>
            <li>
              <div>
                <a href="https://github.com/boostorg/fiber/issues/162">#162</a>: remove use-coutner increment for timed wait ops
              </div>
            </li>
            <li>
              <div>
                <a href="https://github.com/boostorg/fiber/issues/166">#166</a>: remove assertion for wait_is_linked() in schedule()
              </div>
            </li>
            <li>
              <div>
                <a href="https://github.com/boostorg/fiber/issues/167">#167</a>: call shared_state::owner_destroyed() only if future
                was created from
              </div>
            </li>
            <li>
              <div>
                <a href="https://github.com/boostorg/fiber/issues/168">#168</a>: fiber/doc/installing.qbk not not up to date
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/filesystem/">Filesystem</a>:</span>
          <ul>
            <li>
              <div>
                Fix static initialization issue that caused a crash if path operations
                were used before main() (<a href="https://github.com/boostorg/filesystem/pull/62">PR#62</a>, <a href="https://github.com/boostorg/filesystem/pull/43">PR#43</a>, <a href="https://github.com/boostorg/filesystem/pull/50">PR#50</a>,
                <a href="https://github.com/boostorg/filesystem/pull/59">PR#59</a>)
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/fusion/">Fusion</a>:</span>
          <ul>
            <li>
              <div>
                Switch to SFINAE in template parameters on <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">map</span></code>
                to fix compile error on newer MSVC 2017. (<a href="https://github.com/boostorg/fusion/pull/164">PR#164</a>)
              </div>
            </li>
            <li>
              <div>
                Fix for compilers not compatible with CWG defect 945 on <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">vector</span></code>. (<a href="https://github.com/boostorg/fusion/pull/166">PR#166</a>)
              </div>
            </li>
            <li>
              <div>
                Added limits precheck on sequence converter to make error message
                clearer. (<a href="https://github.com/boostorg/fusion/pull/168">PR#168</a>)
              </div>
            </li>
            <li>
              <div>
                Allow incomplete types in <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">tag_of</span></code>
                and <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">is_native_fusion_sequence</span></code>. Note
                that this changes no behaviour from previous release, but compliant
                to TypeTraits's change. (<a href="https://github.com/boostorg/fusion/pull/171">PR#171</a>)
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/geometry/">Geometry</a>:</span>
          <ul>
            <li>
              <div>
                Improvements:
                <ul>
                  <li>
                    <div>
                      New map projection and SRS transformation representations (undocumented
                      for now due to potential interface changes).
                    </div>
                  </li>
                  <li>
                    <div>
                      New densify() algorithm.
                    </div>
                  </li>
                  <li>
                    <div>
                      No longer using std::iterator (thanks to Daniela Engert).
                    </div>
                  </li>
                  <li>
                    <div>
                      No longer using allocator directly in the rtree. Replaced with
                      boost::container::allocator_traits (thanks to Daniela Engert).
                    </div>
                  </li>
                  <li>
                    <div>
                      Default rtree allocator changed to boost::container::new_allocator
                      to still support move semantics emulation in C++03 with boost::container::allocator_traits.
                    </div>
                  </li>
                  <li>
                    <div>
                      Area strategies interface changed. This is potentially a breaking
                      change.
                    </div>
                  </li>
                  <li>
                    <div>
                      Radius or Sphere can be passed into spherical strategies.
                    </div>
                  </li>
                  <li>
                    <div>
                      Added Point-Box and Box-Box spherical and geographic distance()
                      strategies.
                    </div>
                  </li>
                  <li>
                    <div>
                      Simplify (multi)polygons will discard output rings of 2 points
                      or (for closed polygons) 3 points, but it tries to avoid creating
                      those
                    </div>
                  </li>
                  <li>
                    <div>
                      Simplify (multi)polygons will omit empty interior rings or
                      polygons from output
                    </div>
                  </li>
                </ul>
              </div>
            </li>
            <li>
              <div>
                Solved issues:
                <ul>
                  <li>
                    <div>
                      <a href="https://svn.boost.org/trac10/ticket/13386">13386</a>
                      Workaround for some gcc compilers
                    </div>
                  </li>
                  <li>
                    <div>
                      <a href="https://svn.boost.org/trac10/ticket/13381">13381</a>
                      Compile error with matrix_transformer in Visual C++ 2015
                    </div>
                  </li>
                  <li>
                    <div>
                      <a href="https://svn.boost.org/trac10/ticket/13436">13436</a>
                      Incorrectness in boost::geometry::model::polygon documentation
                    </div>
                  </li>
                </ul>
              </div>
            </li>
            <li>
              <div>
                Bugfixes:
                <ul>
                  <li>
                    <div>
                      Add missing strategy resolving in length() algorithm, affecting
                      Variant support.
                    </div>
                  </li>
                  <li>
                    <div>
                      Simplify (multi)polygons now simplifies closing point
                    </div>
                  </li>
                </ul>
              </div>
            </li>
            <li>
              <div>
                Changes in behavior
                <ul>
                  <li>
                    <div>
                      Simplify (multi)polygons now usually rotates input rings before
                      simplifying to select a non collinear point on its convex hull.
                      This improves output.
                    </div>
                  </li>
                </ul>
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/locale/">Locale</a>:</span>
          <ul>
            <li>
              <div>
                Added support of <code><span class="identifier">unique_ptr</span></code>
                interface in addition to C++2003 <code><span class="identifier">auto_ptr</span></code>
                - in order to support C++2017, now you can use <code><span class="identifier">BOOST_LOCALE_HIDE_AUTO_PTR</span></code>
                definiton to remove <code><span class="identifier">auto_ptr</span></code>
                from the interfaces and prevent deprecated watnings.
              </div>
            </li>
            <li>
              <div>
                Fixed test problem with ICU &gt;60.1
              </div>
            </li>
            <li>
              <div>
                Fix of solaris build
              </div>
            </li>
            <li>
              <div>
                Fixed wired FreeBSD/clang issue on optimized build. Probably compiler
                workaround
              </div>
            </li>
            <li>
              <div>
                Added workaround for failing MSVC tests due to 932 codepage codecvt
                issue
              </div>
            </li>
            <li>
              <div>
                Fixed bugs 6851, 12572, 12453
              </div>
            </li>
            <li>
              <div>
                Fixed missing throw in case of failure in <code><span class="identifier">icu</span><span class="special">/</span><span class="identifier">date_time</span></code>
              </div>
            </li>
            <li>
              <div>
                Fixed build agains Boost.Thread v4
              </div>
            </li>
            <li>
              <div>
                Fixed Year of week instead of year ICU backend formatting
              </div>
            </li>
            <li>
              <div>
                Fixed formatting test for ICU 56.1 and above
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/log/">Log</a>:</span>
          <ul>
            <li>
              <div>
                Improved compatibility with C++17: use <code><span class="identifier">allocator_traits</span></code>
                to work with allocators instead of directly accessing its members.
              </div>
            </li>
            <li>
              <div>
                Improved compatibility with gcc 7 and later by updating library ABI
                namespace definition.
              </div>
            </li>
            <li>
              <div>
                Added documentation for the "Append" config file parameter
                for "TextFile" sinks. The parameter was supported previously,
                only the documentation was missing.
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/math/index.html">Math</a>:</span>
          <ul>
            <li>
              <div>
                Add naive Monte Carlo integration support.
              </div>
            </li>
            <li>
              <div>
                Add Chebyshev interpolation routines.
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/multi_index/index.html">Multi-index Containers</a>:</span>
          <ul>
            <li>
              <div>
                Elements with overloaded <code><span class="keyword">operator</span><span class="special">&amp;</span></code> are now fully accepted (ticket
                <a href="https://svn.boost.org/trac/boost/ticket/13307">#13307</a>). Thanks to Daniel Frey for his updating <a href="/libs/utility/operators.htm#deref">Boost.Operators</a>
                to help fix this issue.
              </div>
            </li>
            <li>
              <div>
                Avoided usage of <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">allocator</span></code>
                members deprecated in C++17. Contributed by Daniela Engert.
              </div>
            </li>
            <li>
              <div>
                Maintenance fixes.
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/multiprecision/index.html">Multiprecision</a>:</span>
          <ul>
            <li>
              <div>
                <strong>Breaking Change:</strong> When converting
                a multiprecision integer to a narrower type, if the value is too
                large (or negative) to fit in the smaller type, then the result is
                either the maximum (or minimum) value of the target type. This was
                always the intended behaviour, but was somewhat haphazardly enforced
                before. If you really do want just the low order N bits of a value,
                then you will need to mask these out prior to the case, for example:
                <code><span class="keyword">static_cast</span><span class="special">&lt;</span><span class="keyword">unsigned</span><span class="special">&gt;(~</span><span class="keyword">static_cast</span><span class="special">&lt;</span><span class="keyword">unsigned</span><span class="special">&gt;(</span><span class="number">0</span><span class="special">)</span> <span class="special">&amp;</span> <span class="identifier">my_value</span><span class="special">)</span></code>. Note that technically (to avoid
                undefined behaviour) you should do the same thing with built in integer
                types too. See <a href="https://svn.boost.org/trac/boost/ticket/13109">#13109</a>.
              </div>
            </li>
            <li>
              <div>
                Fix bug in conversion of decimal to rational types (zero needs special
                handling), see <a href="https://svn.boost.org/trac/boost/ticket/13148">#13148</a>.
              </div>
            </li>
            <li>
              <div>
                Fix conversion from cpp_bin_float to a wider built in integer type,
                see <a href="https://svn.boost.org/trac/boost/ticket/13301">#13301</a>.
              </div>
            </li>
            <li>
              <div>
                Improve performance heurists used in cpp_bin_float exp function.
              </div>
            </li>
            <li>
              <div>
                Fix bug in floor/ceil and cpp_bin_float when the exponent type is
                wider than an int, see <a href="https://svn.boost.org/trac/boost/ticket/13264">#13264</a>.
              </div>
            </li>
            <li>
              <div>
                Disable explicit conversion operator when the target type is already
                constructible from this type, see <a href="https://github.com/boostorg/multiprecision/issues/30">#30</a>.
              </div>
            </li>
            <li>
              <div>
                Fix support for changes new to MPIR-3.0, see <a href="https://svn.boost.org/trac/boost/ticket/13124">#13124</a>.
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/optional/index.html">Optional</a>:</span>
          <ul>
            <li>
              <div>
                Fixed issue <a href="https://github.com/boostorg/optional/issues/46">#46</a>
              </div>
            </li>
            <li>
              <div>
                Fixed <code><span class="special">-</span><span class="identifier">Wzero</span><span class="special">-</span><span class="identifier">as</span><span class="special">-</span><span class="identifier">null</span><span class="special">-</span><span class="identifier">pointer</span><span class="special">-</span><span class="identifier">constant</span></code>
                warnings.
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/phoenix/">Phoenix</a>:</span>
          <ul>
            <li>
              <div>
                Correct documentation and example code. (<a href="https://svn.boost.org/trac/boost/ticket/8187">#8187</a>, <a href="https://github.com/boostorg/phoenix/pull/56">PR#56</a>,
                <a href="https://github.com/boostorg/phoenix/pull/57">PR#57</a>)
              </div>
            </li>
            <li>
              <div>
                Fixed bug with initializing phoenix lazy from array types in C++11.
                (<a href="https://svn.boost.org/trac/boost/ticket/12733">#12733</a>, <a href="https://github.com/boostorg/phoenix/pull/58">PR#58</a>, <a href="https://github.com/boostorg/phoenix/pull/61">PR#61</a>)
              </div>
            </li>
            <li>
              <div>
                Use proto subscript and assignment overload operators buildins to
                fix compile error with some lambda experssions on recent MSVC. (<a href="https://github.com/boostorg/phoenix/issues/62">#62</a>,
                <a href="https://github.com/boostorg/phoenix/pull/64">PR#64</a>, <a href="https://github.com/boostorg/phoenix/pull/66">PR#66</a>, <a href="https://github.com/boostorg/phoenix/pull/67">PR#67</a>)
              </div>
            </li>
            <li>
              <div>
                Remove use of deprecated <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">iteratror</span></code>.
                Thanks to Daniela Engert. (<a href="https://github.com/boostorg/phoenix/pull/59">PR#59</a>)
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/poly_collection/">PolyCollection</a>:</span>
          <ul>
            <li>
              <div>
                Maintenance fixes.
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/python/">Python</a>:</span>
          <ul>
            <li>
              <div>
                The library name now includes the version suffix of the Python version
                used to compile it. For example, a variant compiled with Python 2.7
                will produce library names <code><span class="identifier">boost_python27</span></code>
                and <code><span class="identifier">boost_numpy27</span></code>,
                etc.. Combined with a related fix in Boost.Build, this means that
                it is now possible to build variants for multiple Python versions
                in a single build process.
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/spirit/">Spirit</a>:</span>
          <ul>
            <li>
              <div>
                Spirit.X3:
                <ul>
                  <li>
                    <div>
                      <strong>Breaking change:</strong> Removed
                      <code><span class="identifier">with_context</span></code>
                      (<a href="https://github.com/boostorg/spirit/issues/239">#239</a>)
                    </div>
                  </li>
                  <li>
                    <div>
                      Added noexcept to <code><span class="identifier">x3</span><span class="special">::</span><span class="identifier">variant</span></code>
                      and <code><span class="identifier">forward_ast</span></code>
                      (<a href="https://github.com/boostorg/spirit/issues/241">#241</a>)
                    </div>
                  </li>
                  <li>
                    <div>
                      CR+LF lines wrongly counted in <code><span class="identifier">error_handler</span><span class="special">::</span><span class="identifier">position</span><span class="special">()</span></code> (<a href="https://github.com/boostorg/spirit/issues/248">#248</a>)
                    </div>
                  </li>
                  <li>
                    <div>
                      Fixed <code><span class="identifier">unused_type</span></code>
                      attribute case in <code><span class="identifier">parse_into_container</span></code>
                      (<a href="https://github.com/boostorg/spirit/issues/266">#266</a>)
                    </div>
                  </li>
                  <li>
                    <div>
                      Fixed parsing into associative containers (<a href="https://github.com/boostorg/spirit/issues/289">#289</a>)
                    </div>
                  </li>
                  <li>
                    <div>
                      Fixed overflow problem in <code><span class="identifier">uint_parser</span><span class="special">&lt;</span><span class="keyword">signed</span>
                      <span class="identifier">T</span><span class="special">&gt;</span></code>
                      (<a href="https://github.com/boostorg/spirit/issues/297">#297</a>)
                    </div>
                  </li>
                  <li>
                    <div>
                      Added VS2015 Update 3 support by using workarounds (<a href="https://github.com/boostorg/spirit/issues/308">#308</a>)
                    </div>
                  </li>
                  <li>
                    <div>
                      Fixed include guard names collision with Qi (<a href="https://github.com/boostorg/spirit/issues/313">#313</a>)
                    </div>
                  </li>
                  <li>
                    <div>
                      Added parsing into range (<a href="https://github.com/boostorg/spirit/issues/316">#316</a>) (<a href="https://svn.boost.org/trac/boost/ticket/12928">#12928</a>)
                    </div>
                  </li>
                  <li>
                    <div>
                      Changed iterator concept static assert from <code><span class="identifier">ForwardIterator</span></code>
                      to <code><span class="identifier">ReadableIteratorConcept</span></code>
                      &amp;&amp; <code><span class="identifier">ForwardTraversalConcept</span></code>
                      (<a href="https://github.com/boostorg/spirit/issues/320">#320</a>)
                    </div>
                  </li>
                  <li>
                    <div>
                      Reenabled <code><span class="identifier">fusion</span><span class="special">::</span><span class="identifier">map</span></code>
                      support (<a href="https://github.com/boostorg/spirit/issues/330">#330</a>)
                    </div>
                  </li>
                  <li>
                    <div>
                      Fixed <code><span class="identifier">string</span><span class="special">(</span><span class="string">"..."</span><span class="special">)</span></code> and <code><span class="identifier">attr</span><span class="special">(</span><span class="string">"..."</span><span class="special">)</span></code> to single item sequence (<a href="https://github.com/boostorg/spirit/issues/337">#337</a>)
                    </div>
                  </li>
                  <li>
                    <div>
                      Dereference a single item view instead of unwrapping sequence
                      (<a href="https://github.com/boostorg/spirit/issues/340">#340</a>)
                    </div>
                  </li>
                  <li>
                    <div>
                      Prevent <code><span class="identifier">parse_nan</span></code>
                      from dereferencing out of range iterator (<a href="https://github.com/boostorg/spirit/issues/351">#351</a>)
                    </div>
                  </li>
                  <li>
                    <div>
                      Use traits to test if container is empty (<a href="https://github.com/boostorg/spirit/issues/355">#355</a>)
                    </div>
                  </li>
                </ul>
              </div>
            </li>
            <li>
              <div>
                Spirit V2
                <ul>
                  <li>
                    <div>
                      Fixed keyword directives compilation on C++11 (<a href="https://github.com/boostorg/spirit/issues/256">#256</a>)
                      (<a href="https://svn.boost.org/trac/boost/ticket/11493">#11493</a>)
                    </div>
                  </li>
                  <li>
                    <div>
                      Fixed subrules compilation (<a href="https://github.com/boostorg/spirit/issues/279">#279</a>) (<a href="https://github.com/boostorg/spirit/issues/259">#259</a>)
                    </div>
                  </li>
                  <li>
                    <div>
                      Fixed subrules use after scope bug (<a href="https://github.com/boostorg/spirit/issues/284">#284</a>) (<a href="https://svn.boost.org/trac/boost/ticket/5270">#5270</a>)
                    </div>
                  </li>
                  <li>
                    <div>
                      Fixed undefined behavior in sequential or operator. Underlying
                      parsers order of execution was dependent on compiler (<a href="https://github.com/boostorg/spirit/issues/310">#310</a>)
                    </div>
                  </li>
                  <li>
                    <div>
                      Spirit was accidentally relaying on <code><span class="identifier">types</span></code>
                      typedef of <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">optional</span></code>.
                      The typedef was removed in the new optional implementation
                      (<a href="https://github.com/boostorg/spirit/issues/271">#271</a>) (<a href="https://svn.boost.org/trac/boost/ticket/12349">#12349</a>)
                    </div>
                  </li>
                  <li>
                    <div>
                      Fixed problems with <code><span class="identifier">BOOST_SPIRIT_NO_PREDEFINED_TERMINALS</span></code>
                      (<code><span class="identifier">attr_cast</span></code>,
                      <code><span class="identifier">confix</span></code>, <code><span class="identifier">distinct</span></code>, <code><span class="identifier">keywords</span></code>,
                      and <code><span class="identifier">flush_multi_pass</span></code>)
                      (<a href="https://github.com/boostorg/spirit/issues/314">#314</a>) (<a href="https://svn.boost.org/trac/boost/ticket/13311">#13311</a>)
                    </div>
                  </li>
                  <li>
                    <div>
                      Added missing copy assignment operator to <code><span class="identifier">hold_any</span></code>
                      (<a href="https://github.com/boostorg/spirit/issues/361">#361</a>) (<a href="https://svn.boost.org/trac/boost/ticket/8268">#8268</a>)
                    </div>
                  </li>
                </ul>
              </div>
            </li>
            <li>
              <div>
                Spirit.Qi:
                <ul>
                  <li>
                    <div>
                      Fixed alternate operator (<a href="https://github.com/boostorg/spirit/issues/201">#201</a>) (<a href="https://github.com/boostorg/spirit/issues/271">#271</a>) (<a href="https://svn.boost.org/trac/boost/ticket/12349">#12349</a>)
                    </div>
                  </li>
                  <li>
                    <div>
                      Fixed signed integer overflow in real parser (<a href="https://github.com/boostorg/spirit/issues/245">#245</a>)
                    </div>
                  </li>
                  <li>
                    <div>
                      Fixed overflow problem in <code><span class="identifier">uint_parser</span><span class="special">&lt;</span><span class="keyword">signed</span>
                      <span class="identifier">T</span><span class="special">&gt;</span></code>
                      (<a href="https://github.com/boostorg/spirit/issues/297">#297</a>)
                    </div>
                  </li>
                  <li>
                    <div>
                      Fixed <code><span class="identifier">get_current_line</span></code>,
                      <code><span class="identifier">get_line_start</span></code>,
                      and added <code><span class="identifier">get_line_end</span></code>
                      (<a href="https://github.com/boostorg/spirit/issues/304">#304</a>)
                    </div>
                  </li>
                  <li>
                    <div>
                      Permutations parser were always initializing optionals (<a href="https://github.com/boostorg/spirit/issues/319">#319</a>)
                      (<a href="https://svn.boost.org/trac/boost/ticket/12473">#12473</a>)
                    </div>
                  </li>
                  <li>
                    <div>
                      Changed iterator concept static assert from <code><span class="identifier">ForwardIterator</span></code>
                      to <code><span class="identifier">ReadableIteratorConcept</span></code>
                      &amp;&amp; <code><span class="identifier">ForwardTraversalConcept</span></code>
                      (<a href="https://github.com/boostorg/spirit/issues/320">#320</a>)
                    </div>
                  </li>
                  <li>
                    <div>
                      Added assertations to real parsers to ensure that the <code><span class="identifier">parse_frac_n</span></code> from user defined
                      real policy does not return negative values and also to prevent
                      static analyzers false-positives (<a href="https://github.com/boostorg/spirit/issues/358">#358</a>)
                    </div>
                  </li>
                </ul>
              </div>
            </li>
            <li>
              <div>
                Spirit.Karma:
                <ul>
                  <li>
                    <div>
                      Fixed alternate operator (<a href="https://github.com/boostorg/spirit/issues/271">#271</a>)
                    </div>
                  </li>
                  <li>
                    <div>
                      Fixed <code><span class="identifier">no_buffering_policy</span></code>
                      missing copy constructor (<a href="https://github.com/boostorg/spirit/issues/261">#261</a>)
                    </div>
                  </li>
                  <li>
                    <div>
                      The <code><span class="identifier">ostream_iterator</span></code>
                      was inheriting <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator</span></code>
                      which is deprecated in C++17 (<a href="https://github.com/boostorg/spirit/issues/345">#345</a>)
                    </div>
                  </li>
                </ul>
              </div>
            </li>
            <li>
              <div>
                Spirit.Lex:
                <ul>
                  <li>
                    <div>
                      Store id as promoted type to allow out-of-enum values (<a href="https://github.com/boostorg/spirit/issues/247">#247</a>)
                    </div>
                  </li>
                  <li>
                    <div>
                      Fixed C2001 'newline in constant' warning in generated lexers
                      (<a href="https://github.com/boostorg/spirit/issues/324">#324</a>) (<a href="https://svn.boost.org/trac/boost/ticket/11540">#11540</a>)
                    </div>
                  </li>
                </ul>
              </div>
            </li>
            <li>
              <div>
                Spirit.Classic:
                <ul>
                  <li>
                    <div>
                      Fixed <code><span class="identifier">remove_reference</span></code>
                      usage without a namespace in Phoenix (<a href="https://github.com/boostorg/spirit/issues/274">#274</a>)
                    </div>
                  </li>
                  <li>
                    <div>
                      Fixed <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span></code> usage without the
                      include (<a href="https://github.com/boostorg/spirit/issues/273">#273</a>)
                    </div>
                  </li>
                  <li>
                    <div>
                      Fixed compilation of <code><span class="identifier">match</span><span class="special">&lt;</span><span class="identifier">T</span>
                      <span class="special">&amp;&gt;</span></code> (<a href="https://github.com/boostorg/spirit/issues/275">#275</a>)
                    </div>
                  </li>
                  <li>
                    <div>
                      Fixed compilation with <code><span class="identifier">BOOST_DISABLE_THREADS</span></code>
                      defined (<a href="https://github.com/boostorg/spirit/issues/323">#323</a>) (<a href="https://svn.boost.org/trac/boost/ticket/12639">#12639</a>)
                    </div>
                  </li>
                  <li>
                    <div>
                      Increment scanner through iterator policy (<a href="https://github.com/boostorg/spirit/issues/336">#336</a>) (<a href="https://svn.boost.org/trac/boost/ticket/7371">#7371</a>)
                    </div>
                  </li>
                  <li>
                    <div>
                      Removed deprecated in C++17 <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator</span></code>
                      usage (<a href="https://github.com/boostorg/spirit/issues/345">#345</a>)
                    </div>
                  </li>
                </ul>
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/stacktrace/">Stacktrace</a>:</span>
          <ul>
            <li>
              <div>
                Async safe dumping into files on Windows OS was causing hangs on
                some platforms and now is disabled <a href="https://github.com/boostorg/stacktrace/issues/33">#33</a>. Users are encouraged
                to update to the latest Boost release.
              </div>
            </li>
            <li>
              <div>
                <a href="/libs/container_hash/">ContainerHash</a> library
                is now used to reduce dependencies.
              </div>
            </li>
            <li>
              <div>
                Minor fixes (including <a href="https://github.com/boostorg/stacktrace/issues/31">#31</a>, <a href="https://github.com/boostorg/stacktrace/issues/38">#38</a>, <a href="https://github.com/boostorg/stacktrace/issues/39">#39</a>,
                <a href="https://github.com/boostorg/stacktrace/issues/40">#40</a>, <a href="https://github.com/boostorg/stacktrace/issues/42">#42</a>).
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/test/">Test</a>:</span>
          <ul>
            <li>
              <div>
                Boost.test v3.7 see the <a href="/doc/libs/1_67_0/libs/test/doc/html/boost_test/change_log.html">Changes
                log</a> for more details.
              </div>
            </li>
            <li>
              <div>
                Breaking changes
                <ul>
                  <li>
                    <div>
                      Adding test cases with the same name to the same test suite
                      is now reported as an error. See the changes log for more details.
                    </div>
                  </li>
                </ul>
              </div>
            </li>
            <li>
              <div>
                New feature:
                <ul>
                  <li>
                    <div>
                      Colour output on by default and available on Windows,
                    </div>
                  </li>
                  <li>
                    <div>
                      Improved and clearer command line help
                    </div>
                  </li>
                  <li>
                    <div>
                      <code><span class="identifier">BOOST_AUTO_TEST_CASE_TEMPLATE</span></code>
                      now accepts a sequence of types in an <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">tuple</span></code>
                    </div>
                  </li>
                </ul>
              </div>
            </li>
            <li>
              <div>
                Bug fixes and pull requests:
                <ul>
                  <li>
                    <div>
                      Trac tickets: <a href="https://svn.boost.org/trac/boost/ticket/12092">#12092</a>, <a href="https://svn.boost.org/trac/boost/ticket/12596">#12596</a>, <a href="https://svn.boost.org/trac/boost/ticket/12597">#12597</a>, <a href="https://svn.boost.org/trac/boost/ticket/12969">#12969</a>,
                      <a href="https://svn.boost.org/trac/boost/ticket/13058">#13058</a>, <a href="https://svn.boost.org/trac/boost/ticket/13149">#13149</a>, <a href="https://svn.boost.org/trac/boost/ticket/13170">#13170</a>
                    </div>
                  </li>
                  <li>
                    <div>
                      Trac tickets: <a href="https://svn.boost.org/trac/boost/ticket/13181">#13181</a>, <a href="https://svn.boost.org/trac/boost/ticket/13371">#13371</a>, <a href="https://svn.boost.org/trac/boost/ticket/13387">#13387</a>, <a href="https://svn.boost.org/trac/boost/ticket/13398">#13398</a>,
                      <a href="https://svn.boost.org/trac/boost/ticket/13407">#13407</a>, <a href="https://svn.boost.org/trac/boost/ticket/13435">#13435</a>, <a href="https://svn.boost.org/trac/boost/ticket/13443">#13443</a>
                    </div>
                  </li>
                  <li>
                    <div>
                      Pull requests: <a href="https://github.com/boostorg/test/issues/112">#112</a>, <a href="https://github.com/boostorg/test/issues/118">#118</a>, <a href="https://github.com/boostorg/test/issues/118">#118</a>, <a href="https://github.com/boostorg/test/issues/121">#121</a>,
                      <a href="https://github.com/boostorg/test/issues/122">#122</a>, <a href="https://github.com/boostorg/test/issues/125">#125</a>, <a href="https://github.com/boostorg/test/issues/127">#127</a>
                    </div>
                  </li>
                </ul>
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/type_index/">TypeIndex</a>:</span>
          <ul>
            <li>
              <div>
                <a href="/libs/container_hash/">ContainerHash</a> library
                is now used to reduce dependencies.
              </div>
            </li>
            <li>
              <div>
                Minor fixes (including <a href="https://github.com/boostorg/type_index/issues/17">#17</a>)
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/type_traits/">TypeTraits</a>:</span>
          <ul>
            <li>
              <div>
                Added new traits <code><span class="identifier">detected</span></code>,
                <code><span class="identifier">detected_or</span></code>, <code><span class="identifier">is_detected</span></code>, <code><span class="identifier">is_detected_convertible</span></code>,
                <code><span class="identifier">is_detected_exact</span></code>,
                <code><span class="identifier">is_complete</span></code>.
              </div>
            </li>
            <li>
              <div>
                Added greatly improved code for detecting binary operators.
              </div>
            </li>
            <li>
              <div>
                Add assertions for completeness to traits which require complete
                types as arguments: this prevents various traits from giving eroneous
                results from incomplete types.
              </div>
            </li>
            <li>
              <div>
                Fix minor issue with mpl compatibility, see <a href="https://svn.boost.org/trac/boost/ticket/12212">#12212</a>.
              </div>
            </li>
            <li>
              <div>
                Add macro to indicate when <code><span class="identifier">is_constructible</span></code>
                is fully implemented, see <a href="https://svn.boost.org/trac/boost/ticket/12003">#12003</a>.
              </div>
            </li>
            <li>
              <div>
                Update <code><span class="identifier">is_function</span></code>
                and <code><span class="identifier">is_member_function_pointer</span></code>
                to work correctly with C++17 noexcept specifications.
              </div>
            </li>
            <li>
              <div>
                Add workaround for <code><span class="identifier">is_default_constructible</span></code>
                and <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code>.
              </div>
            </li>
            <li>
              <div>
                Added fallback for <code><span class="identifier">is_nothrow_swappable</span></code>
                on pre-C++11 compilers.
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/utility/">Utility</a>:</span>
          <ul>
            <li>
              <div>
                <strong>Breaking change:</strong> <code><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">utility</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
                header no longer includes <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">next</span></code>
                and <code><span class="identifier">boost</span><span class="special">::</span><span class="identifier">prior</span></code> as they have been moved to
                the iterator module. Instead include <code><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">next_prior</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>.
                Other uses of <code><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">utility</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> are discouraged, it's better
                to use the header for the specific functionality instead.
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/unordered/">Unordered</a>:</span>
          <ul>
            <li>
              <div>
                Template deduction guides.
              </div>
            </li>
            <li>
              <div>
                Standard conforming <code><span class="keyword">noexcept</span></code>
                specifications for <code><span class="identifier">swap</span></code>,
                <code><span class="keyword">operator</span><span class="special">=</span></code>
                and node handles.
              </div>
            </li>
            <li>
              <div>
                Add <code><span class="identifier">element_type</span></code>
                to iterators, so that <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">pointer_traits</span></code>
                will work.
              </div>
            </li>
            <li>
              <div>
                Support <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">piecewise_construct</span></code> on recent Visual
                C++ and Dinkumware libraries.
              </div>
            </li>
            <li>
              <div>
                Use <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator_traits</span></code> rather than the
                boost iterator traits in order to remove dependency on Boost.Iterator.
              </div>
            </li>
            <li>
              <div>
                Iterators no longer inherit from <code><span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator</span></code>,
                as it's deprecated (<a href="https://github.com/boostorg/unordered/pull/7">PR#7</a>).
              </div>
            </li>
            <li>
              <div>
                More detail in the <a href="/doc/html/unordered/changes.html#unordered.changes.boost_1_67_0">library
                change log</a>.
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/units/">Units</a>:</span>
          <ul>
            <li>
              <div>
                Fix sqrt for scaled units <a href="https://svn.boost.org/trac/boost/ticket/10270">#10270</a> <a href="https://github.com/boostorg/units/issues/27">#27</a>
              </div>
            </li>
            <li>
              <div>
                Add constexpr support <a href="https://github.com/boostorg/units/issues/22">#22</a>
              </div>
            </li>
            <li>
              <div>
                minor documentation fixes
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/uuid/">Uuid</a>:</span>
          <ul>
            <li>
              <div>
                <strong>Breaking change:</strong> random_generator
                is no longer copyable (<a href="https://github.com/boostorg/uuid/issues/61">#61</a>)
              </div>
            </li>
            <li>
              <div>
                Optimized random_generator to use OS-provided entropy directly (<a href="https://github.com/boostorg/uuid/pull/53">PR#53</a>)
              </div>
            </li>
            <li>
              <div>
                Provide <code><span class="identifier">random_generator_mt19937</span></code>
                for bulk UUID generation
              </div>
            </li>
            <li>
              <div>
                Handle entropy acquisition errors instead of ignoring them
              </div>
            </li>
            <li>
              <div>
                Support for Windows UWP (<a href="https://github.com/boostorg/uuid/issues/24">#24</a>)
              </div>
            </li>
            <li>
              <div>
                Support for CloudABI
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          <span class="library"><a href="/libs/variant/">Variant</a>:</span>
          <ul>
            <li>
              <div>
                Substitute function arguments on compilers with variadic templates
                support and do not generate substitution metafunctions using preprocessor
                <a href="https://github.com/boostorg/variant/issues/42">#42</a>, <a href="https://github.com/boostorg/variant/issues/46">#46</a>. Many thanks to Nikita Kniazev for providing
                an initial fix.
              </div>
            </li>
            <li>
              <div>
                Perfect forwarding for passing visitor in apply_visitor <a href="https://github.com/boostorg/variant/issues/40">#40</a>,
                <a href="https://svn.boost.org/trac/boost/ticket/13288">#13288</a>. Many thanks to Paweł Dac!
              </div>
            </li>
            <li>
              <div>
                Minor fixes (including <a href="https://github.com/boostorg/variant/issues/41">#41</a>, <a href="https://github.com/boostorg/variant/issues/44">#44</a>)
              </div>
            </li>
          </ul>
        </div>
      </li>
    </ul>
  </div>
  <div id="version_1_67_0.compilers_tested">
    <h3><span class="link">Compilers Tested</span></h3>
    <p>
      Boost's primary test compilers are:
    </p>
    <ul>
      <li>
        <div>
          Linux:
          <ul>
            <li>
              <div>
                Clang: 3.0, 4.0.1, 5.0.1
              </div>
            </li>
            <li>
              <div>
                Clang, C++0x: 3.0
              </div>
            </li>
            <li>
              <div>
                Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 4.0.1, 5.0.1
              </div>
            </li>
            <li>
              <div>
                Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.9.1, 4.0.0, 4.0.1, 5.0.1
              </div>
            </li>
            <li>
              <div>
                Clang, C++17: 5.0.1
              </div>
            </li>
            <li>
              <div>
                GCC: 4.4.7, 4.5.3, 4.6.3, 5.4.0, 7.2.0
              </div>
            </li>
            <li>
              <div>
                GCC, C++0x: 4.4.7
              </div>
            </li>
            <li>
              <div>
                GCC, C++11: 4.7.3, 4.8.5, 4.9.4, 5.4.0, 6.4.0, 7.1.0, 7.2.0
              </div>
            </li>
            <li>
              <div>
                GCC, C++14: 5.4.0, 5.4.1, 6.3.0, 6.4.0, 7.1.0, 7.2.0, 7.3.0
              </div>
            </li>
            <li>
              <div>
                GCC, C++17: 7.2.0
              </div>
            </li>
            <li>
              <div>
                Intel, C++14: 18.0
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          OS X:
          <ul>
            <li>
              <div>
                Clang: 9.0.0
              </div>
            </li>
            <li>
              <div>
                Clang, C++11: 9.0.0
              </div>
            </li>
            <li>
              <div>
                Clang, C++14: 9.0.0
              </div>
            </li>
            <li>
              <div>
                Clang, C++1z: 9.0.0
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          Windows:
          <ul>
            <li>
              <div>
                GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
              </div>
            </li>
            <li>
              <div>
                GCC, C++0x: 4.6.4
              </div>
            </li>
            <li>
              <div>
                GCC, C++11: 4.7.3, 4.8.1, 4.9.3
              </div>
            </li>
            <li>
              <div>
                GCC, C++14: 5.1.0, 5.2.0, 5.3.0, 6.1.0, 6.2.0, 6.3.0, 6.4.0, 7.1.0
              </div>
            </li>
            <li>
              <div>
                Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
              </div>
            </li>
          </ul>
        </div>
      </li>
    </ul>
    <p>
      Boost's additional test compilers include:
    </p>
    <ul>
      <li>
        <div>
          Linux:
          <ul>
            <li>
              <div>
                Clang: 3.0, 3.8.1, 4.0.1, 5.0.1
              </div>
            </li>
            <li>
              <div>
                Clang, C++0x: 3.0
              </div>
            </li>
            <li>
              <div>
                Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 4.0.1, 5.0.1
              </div>
            </li>
            <li>
              <div>
                Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.9.1, 4.0.0, 4.0.1, 5.0.1
              </div>
            </li>
            <li>
              <div>
                Clang, C++17: 5.0.1
              </div>
            </li>
            <li>
              <div>
                GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 4.9.2, 5.4.0, 7.2.0
              </div>
            </li>
            <li>
              <div>
                GCC, C++0x: 4.4.7
              </div>
            </li>
            <li>
              <div>
                GCC, C++11: 4.7.3, 4.8.5, 4.9.4, 5.4.0, 6.4.0, 7.1.0, 7.2.0
              </div>
            </li>
            <li>
              <div>
                GCC, C++14: 5.4.0, 5.4.1, 6.3.0, 6.4.0, 7.1.0, 7.2.0, 7.3.0
              </div>
            </li>
            <li>
              <div>
                GCC, C++17: 7.2.0
              </div>
            </li>
            <li>
              <div>
                Intel, C++14: 18.0
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          OS X:
          <ul>
            <li>
              <div>
                Clang: 9.0.0
              </div>
            </li>
            <li>
              <div>
                Clang, C++11: 9.0.0
              </div>
            </li>
            <li>
              <div>
                Clang, C++14: 9.0.0
              </div>
            </li>
            <li>
              <div>
                Clang, C++1z: 9.0.0
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          Windows:
          <ul>
            <li>
              <div>
                GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
              </div>
            </li>
            <li>
              <div>
                GCC, C++0x: 4.6.4
              </div>
            </li>
            <li>
              <div>
                GCC, C++11: 4.7.3, 4.8.1, 4.9.3
              </div>
            </li>
            <li>
              <div>
                GCC, C++14: 5.1.0, 5.2.0, 5.3.0, 6.1.0, 6.2.0, 6.3.0, 6.4.0, 7.1.0
              </div>
            </li>
            <li>
              <div>
                Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0, 14.1
              </div>
            </li>
          </ul>
        </div>
      </li>
      <li>
        <div>
          FreeBSD:
          <ul>
            <li>
              <div>
                Clang: 4.0.0
              </div>
            </li>
            <li>
              <div>
                Clang, C++11: 4.0.0
              </div>
            </li>
            <li>
              <div>
                Clang, C++14: 4.0.0
              </div>
            </li>
            <li>
              <div>
                Clang, C++1z: 4.0.0
              </div>
            </li>
          </ul>
        </div>
      </li>
    </ul>
  </div>
  <div id="version_1_67_0.acknowledgements">
    <h3><span class="link">Acknowledgements</span></h3>
    <p>
      <a href="/users/people/beman_dawes.html">Beman Dawes</a>, Daniel James,
      Vladimir Prus and Marshall Clow managed this release.
    </p>
  </div>
</div>
              </div>
            </div>
          </div>
        </div>
      </div>

      <div id="sidebar">
        <!--#include virtual="/common/sidebar-common.html" --><!--#include virtual="/common/sidebar-boost.html" -->      </div>

      <div class="clear"></div>
    </div>
  </div>

  <div id="footer">
    <div id="footer-left">
      <div id="copyright">
        <p>Copyright Rene Rivera 2006-2007.</p>
      </div><!--#include virtual="/common/footer-license.html" -->    </div>

    <div id="footer-right">
      <!--#include virtual="/common/footer-banners.html" -->    </div>

    <div class="clear"></div>
  </div>
</body>
</html>
